home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / lib / python2.5 / nturl2path.pyc (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-29  |  2KB  |  61 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4. '''Convert a NT pathname to a file URL and vice versa.'''
  5.  
  6. def url2pathname(url):
  7.     """OS-specific conversion from a relative URL of the 'file' scheme
  8.     to a file system path; not recommended for general use."""
  9.     import string as string
  10.     import urllib as urllib
  11.     url = url.replace(':', '|')
  12.     if '|' not in url:
  13.         if url[:4] == '////':
  14.             url = url[2:]
  15.         
  16.         components = url.split('/')
  17.         return urllib.unquote('\\'.join(components))
  18.     
  19.     comp = url.split('|')
  20.     if len(comp) != 2 or comp[0][-1] not in string.ascii_letters:
  21.         error = 'Bad URL: ' + url
  22.         raise IOError, error
  23.     
  24.     drive = comp[0][-1].upper()
  25.     components = comp[1].split('/')
  26.     path = drive + ':'
  27.     for comp in components:
  28.         if comp:
  29.             path = path + '\\' + urllib.unquote(comp)
  30.             continue
  31.     
  32.     return path
  33.  
  34.  
  35. def pathname2url(p):
  36.     """OS-specific conversion from a file system path to a relative URL
  37.     of the 'file' scheme; not recommended for general use."""
  38.     import urllib
  39.     if ':' not in p:
  40.         if p[:2] == '\\\\':
  41.             p = '\\\\' + p
  42.         
  43.         components = p.split('\\')
  44.         return urllib.quote('/'.join(components))
  45.     
  46.     comp = p.split(':')
  47.     if len(comp) != 2 or len(comp[0]) > 1:
  48.         error = 'Bad path: ' + p
  49.         raise IOError, error
  50.     
  51.     drive = urllib.quote(comp[0].upper())
  52.     components = comp[1].split('\\')
  53.     path = '///' + drive + '|'
  54.     for comp in components:
  55.         if comp:
  56.             path = path + '/' + urllib.quote(comp)
  57.             continue
  58.     
  59.     return path
  60.  
  61.